home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib09.dsk / APPLE SPRINT.bas < prev    next >
BASIC Source File  |  2023-02-26  |  16KB  |  360 lines

  1. 50  REM  *****************************
  2. 55  REM  *     << APPLE SPRINT >>    *
  3. 60  REM  *             BY            *
  4. 65  REM  * KEN & MICHELLE MCCANDLESS *
  5. 70  REM  *     COPYRIGHT (C) 1982    *
  6. 75  REM  *     BY MICRO-SPARC INC    *
  7. 80  REM  *     LINCOLN, MA. 01773    *
  8. 85  REM  *    ALL RIGHTS RESERVED    *
  9. 87  REM  *****************************
  10. 100  REM  INITIALIZE SOUND ROUTINE
  11. 150  POKE 770,173: POKE 771,48: POKE 772,192: POKE 773,136: POKE 774,208: POKE 775,5: POKE 776,206: POKE 777,1: POKE 778,3: POKE 779,240: POKE 780,9: POKE 781,202
  12. 200  POKE 782,208: POKE 783,245: POKE 784,174: POKE 785,0: POKE 786,3: POKE 787,76: POKE 788,2: POKE 789,3: POKE 790,96: POKE 791,0: POKE 792,0
  13. 250  GOTO 1100
  14. 300  FOR B = 1 TO 6: POKE 768,76 +4 *B: POKE 769,50: CALL 770: POKE 768,1: POKE 769,10: CALL 770: NEXT : POKE 768,76 +4 *B: POKE 769,50: CALL 770: RETURN 
  15. 350  REM  ASCENDING NOTES
  16. 400  FOR B = 6 TO 1  STEP  -1: POKE 768,56 +4 *B: POKE 769,50: CALL 770: POKE 768,1: POKE 769,10: CALL 770: NEXT : POKE 768,56 +4 *B: POKE 769,50: CALL 770: RETURN 
  17. 450  REM  SOUND FOR WRONG ANSWER
  18. 500  FOR B = 1 TO 50: POKE 768,200: POKE 769,5: CALL 770: NEXT : RETURN 
  19. 550  REM  SOUND FOR RIGHT ANSWER
  20. 600  POKE 768,102: POKE 769,90: CALL 770
  21. 650  POKE 768,1: POKE 769,20: CALL 770
  22. 700  POKE 768,102: POKE 769,50: CALL 770
  23. 750  POKE 768,1: POKE 769,20: CALL 770
  24. 800  POKE 768,102: POKE 769,10: CALL 770
  25. 850  POKE 768,1: POKE 769,10: CALL 770
  26. 900  POKE 768,76: POKE 769,230: CALL 770
  27. 950  RETURN 
  28. 1000  REM  SOUND FOR EXCELLENT PERFORMANCE
  29. 1050  FOR B = 1 TO 20: POKE 768,64: POKE 769,10: CALL 770: POKE 768,72: POKE 769,10: CALL 770: NEXT : RETURN 
  30. 1100  ONERR  GOTO 11900
  31. 1150  TEXT : NORMAL : NOTRACE : SPEED= 255
  32. 1200  CALL  -936
  33. 1250  VTAB 8: HTAB 12: PRINT "APPLE SPRINT"
  34. 1300  VTAB 11: HTAB 5: PRINT "BY KEN AND MICHELLE MCCANDLESS"
  35. 1310  VTAB 13: HTAB 9: PRINT "COPYRIGHT (C) 1982": VTAB 14: HTAB 9: PRINT "BY MICRO-SPARC, INC."
  36. 1325 BB =  INT( RND(1) *10): FOR B = 1 TO BB:BC =  RND(1): NEXT : REM  INDUCE MORE RANDOMNESS
  37. 1350  DEF  FN A(Z) = 21 - LEN(A$)/2
  38. 1400  DEF  FN H(Z) =  INT( RND(1) *10) +48
  39. 1450  SPEED= 255
  40. 1500  DIM KA$(6)
  41. 1550  DIM A%(3),N%(3),AD%(3)
  42. 1600  DIM AR$(2),PR$(43),NO$(50)
  43. 1650  DIM AD$(50),VB$(55)
  44. 1700 AD = 50:VB = 55
  45. 1750 AR = 2:PR = 43:NO = 50
  46. 1800 S$ = " "
  47. 1850 G$ =  CHR$(7)
  48. 1900 Q = 22: REM  # OF DATA STATEMENTS OF INSTRUCTIONS
  49. 1950  REM  BUILD THE DATA ARRAYS
  50. 2000  FOR B = 1 TO AR: READ AR$(B): NEXT B
  51. 2050  FOR B = 1 TO PR: READ PR$(B): NEXT B
  52. 2100  FOR B = 1 TO NO: READ NO$(B): NEXT B
  53. 2150  FOR B = 1 TO AD: READ AD$(B): NEXT B
  54. 2200  FOR B = 1 TO VB: READ VB$(B): NEXT B
  55. 2250  REM  GET CONTROL PARAMETERS
  56. 2300  VTAB 21: HTAB 10: PRINT "INSTRUCTIONS (Y/N)? ";: GET Z$
  57. 2350  IF Z$ =  CHR$(17)  THEN  END 
  58. 2400  IF Z$ = "Y"  THEN  GOSUB 13200
  59. 2450  CALL  -936: VTAB 10: HTAB 11: PRINT "PRESCHOOLER? (Y/N)";: GET Z$
  60. 2500 K = 0
  61. 2550  IF Z$ = "Y"  THEN K = 1
  62. 2600  IF Z$ =  CHR$(17)  THEN 12250
  63. 2650 T = 0:S = 0
  64. 2700  CALL  -936: VTAB 10: HTAB 13
  65. 2750 H = 0
  66. 2800  PRINT "NUMBERS? (Y/N)";: GET Z$
  67. 2850  IF Z$ =  CHR$(17)  THEN 12250
  68. 2900  IF Z$ =  CHR$(27)  THEN 2450
  69. 2950  IF Z$ = "Y"  THEN H = 1
  70. 3000  CALL  -936
  71. 3050  VTAB 10: HTAB 5: PRINT "LEVEL? (0=EASIEST/4=HARDEST)";: GET Z$
  72. 3100  IF Z$ =  CHR$(17)  THEN 12250
  73. 3150  IF Z$ =  CHR$(27)  THEN 2700
  74. 3200 L =  INT( ASC(Z$) -48)
  75. 3250  IF L <0  OR L >4  THEN L = 2
  76. 3300  CALL  -936
  77. 3350  VTAB 10: HTAB 5: PRINT "SPEED? (0=SLOWEST/9=FASTEST)";: GET Z$
  78. 3400  IF Z$ =  CHR$(17)  THEN 12250
  79. 3450  IF Z$ =  CHR$(27)  THEN 3000
  80. 3500 X =  INT( ASC(Z$) -48):XX = 9 -X
  81. 3550  IF X <0  OR X >9  THEN X = 4:XX = 5
  82. 3600 CT = 0:WC = 0:W = 0
  83. 3650  REM  BUILD THE DISPLAY
  84. 3700  CALL  -936
  85. 3750  VTAB 1: HTAB 1: INVERSE : PRINT "LEVEL=";L
  86. 3800  VTAB 1: HTAB 13: NORMAL : PRINT "READING IMPROVER"
  87. 3850  INVERSE : VTAB 1: HTAB 34: PRINT "SPEED=";X: NORMAL : HTAB 1
  88. 3900  IF K = 1  THEN  VTAB 3: HTAB 16: INVERSE : PRINT "PRESCHOOL": NORMAL 
  89. 3950  VTAB 24: HTAB 5: PRINT "TO QUIT-HIT <CTRL>-Q THEN RETURN";: HTAB 1
  90. 4000  VTAB 8: PRINT "----------------------------------------"
  91. 4050  VTAB 9: PRINT "I"; SPC( 38);"I"
  92. 4100  VTAB 10: PRINT "I"; SPC( 38);"I"
  93. 4150  VTAB 11: PRINT "I"; SPC( 38);"I"
  94. 4200  VTAB 12: PRINT "----------------------------------------"
  95. 4250 B =  FRE(0)
  96. 4300 S2 = 2:T1 = 1
  97. 4350  REM  PRESCHOOLER
  98. 4400  IF K < >1  THEN 5000
  99. 4450 KI$ = "":A$ = ""
  100. 4500  IF H <1  THEN 4800
  101. 4550  REM  PRESCHOOLER NUMBERS
  102. 4600  FOR B = 1 TO L +2:KA$(B) =  CHR$(( RND(1) *10) +48):KI$ = KI$ +KA$(B):A$ = A$ +KA$(B) +"  ": NEXT 
  103. 4650 B =  LEN(A$) -2:A$ =  MID$ (A$,1,B)
  104. 4700  GOTO 8350
  105. 4750  REM  PRESCHOOLER WORDS
  106. 4800  FOR B = 1 TO L +2:KA$(B) =  MID$ (VB$( RND(1) *(VB -1) +1),( RND(1) *2 +1),1):KI$ = KI$ +KA$(B):A$ = A$ +KA$(B) +"  ": NEXT 
  107. 4850 B =  LEN(A$):A$ =  MID$ (A$,1,B)
  108. 4900  GOTO 8350
  109. 4950  REM  WORDS OR NUMBERS?
  110. 5000  IF H <1  THEN  GOTO 5600
  111. 5050  REM  DOING NUMBERS
  112. 5100  IF L = 4  THEN BB = 12
  113. 5150  IF L = 3  THEN BB = 10
  114. 5200  IF L = 2  THEN BB = 8
  115. 5250  IF L = 1  THEN BB = 6
  116. 5300  IF L = 0  THEN BB = 4
  117. 5350  IF  RND(1) >.65  THEN BB = BB +1
  118. 5400 A$ = ""
  119. 5450  FOR B = 1 TO BB:A$ = A$ + CHR$( FN H(Z)): NEXT B
  120. 5500  GOTO 8350
  121. 5550  REM  RANDOMIZE 3 ARTICLES
  122. 5600  FOR B = 1 TO 3
  123. 5650 A%(B) =  RND(1) *10
  124. 5700  IF A%(B) <5  THEN A%(B) = 1: NEXT B: GOTO 5900
  125. 5750 A%(B) = 2: NEXT B
  126. 5850  REM  RANDOMIZE 3 NOUNS
  127. 5900  FOR B = 1 TO 3
  128. 5950 N%(B) =  RND(1) *NO +1
  129. 6000  IF N%(B) <1  THEN N%(B) = 1
  130. 6050  IF (N%(B) >NO)  THEN N%(B) = NO
  131. 6100  NEXT B
  132. 6150  REM  RANDOMIZE A PREPOSITION
  133. 6200 P% =  RND(1) *PR +1
  134. 6250  IF P% <1  THEN P% = 1
  135. 6300  IF P% >PR  THEN 6200
  136. 6350  REM  RANDOMIZE 3 ADJECTIVES
  137. 6400  FOR B = 1 TO 3
  138. 6450 AD%(B) =  RND(1) *AD +1
  139. 6500  IF AD%(B) <1  THEN AD%(B) = 1
  140. 6550  IF AD%(B) >AD  THEN AD%(B) = AD
  141. 6600  NEXT B
  142. 6650  REM  RANDOMIZE VERB
  143. 6700 V% =  RND(1) *VB +1
  144. 6750  IF V% <1  THEN V% = 1
  145. 6800  IF V% >VB  THEN V% = VB
  146. 6850  IF L >0  THEN 7000
  147. 6900 A$ = PR$(P%) +S$ +AR$(A%(1)) +S$ +NO$(N%(1))
  148. 6950  GOTO 8350
  149. 7000  IF L >1  THEN 7150
  150. 7050 A$ = PR$(P%) +S$ +AR$(A%(1)) +S$ +AD$(AD%(1)) +S$ +NO$(N%(1))
  151. 7100  GOTO 8350
  152. 7150  IF L >2  THEN 7350
  153. 7200 A$ = AR$(A%(1)) +S$ +NO$(N%(1)) +S$ +VB$(V%) +S$ +AR$(A%(2)) +S$ +NO$(N%(2))
  154. 7250  IF  LEN(A$) <38  THEN 8350
  155. 7300  GOTO 6900
  156. 7350  IF L >3  THEN 7650
  157. 7400 A$ = AR$(A%(1)) +S$ +AD$(AD%(1)) +S$ +NO$(N%(1)) +S$ +VB$(V%) +S$ +AR$(A%(2)) +S$ +AD$(AD%(2)) +S$ +NO$(N%(2))
  158. 7450  IF  LEN(A$) <38  THEN 8350
  159. 7500 A$ = AR$(A%(1)) +S$ +AD$(AD%(1)) +S$ +NO$(N%(1)) +S$ +VB$(V%) +S$ +AR$(A%(2)) +S$ +NO$(N%(2))
  160. 7550  IF  LEN(A$) <38  THEN 8350
  161. 7600  GOTO 7200
  162. 7650 A$ = AR$(A%(1)) +S$ +AD$(AD%(1)) +S$ +NO$(N%(1)) +S$ +VB$(V%) +S$ +AR$(A%(2)) +S$ +AD$(AD%(2)) +S$ +NO$(N%(2)) +S$ +PR$(P%) +S$ +AR$(A%(3)) +S$ +AD$(AD%(3)) +S$ +NO$(N%(3))
  163. 7700  IF  LEN(A$) <38  THEN 8350
  164. 7750 A$ = AR$(A%(1)) +S$ +AD$(AD%(1)) +S$ +NO$(N%(1)) +S$ +VB$(V%) +S$ +AR$(A%(2)) +S$ +AD$(AD%(2)) +S$ +NO$(N%(2)) +S$ +PR$(P%) +S$ +AR$(A%(3)) +S$ +NO$(N%(3))
  165. 7800  IF  LEN(A$) <38  THEN 8350
  166. 7850 A$ = AR$(A%(1)) +S$ +AD$(AD%(1)) +S$ +NO$(N%(1)) +S$ +VB$(V%) +S$ +AR$(A%(2)) +S$ +NO$(N%(2)) +S$ +PR$(P%) +S$ +AR$(A%(3)) +S$ +NO$(N%(3))
  167. 7900  IF  LEN(A$) <38  THEN 8350
  168. 7950 A$ = AR$(A%(1)) +S$ +NO$(N%(1)) +S$ +VB$(V%) +S$ +AR$(A%(2)) +S$ +NO$(N%(2)) +S$ +PR$(P%) +S$ +AR$(A%(3)) +S$ +NO$(N%(3))
  169. 8000  IF  LEN(A$) <38  THEN 8350
  170. 8050  GOTO 7400
  171. 8100  REM  FLASH THE DATA ON ANY
  172. 8150  REM  KEY INPUT EXCEPT....
  173. 8200  REM  CTRL-Q (QUIT) OR
  174. 8250  REM  ESC (GET NEW CONTROL
  175. 8300  REM  PARAMETERS)
  176. 8350  VTAB 21: HTAB 1
  177. 8400  POKE  -16368,0
  178. 8450  GET Z$
  179. 8500  IF Z$ =  CHR$(27)  THEN 2700
  180. 8550  IF Z$ =  CHR$(17)  THEN 12250
  181. 8600  IF T1 = 1  THEN T1 = 0:T = T +1
  182. 8650  VTAB 10
  183. 8700  HTAB  FN A(Z)
  184. 8750  REM  HOLD FLASH FOR SPEED-XX
  185. 8800  PRINT A$
  186. 8850  FOR B = 1 TO XX *180: NEXT B: VTAB 10: HTAB 2: PRINT  SPC( 38)
  187. 8950  REM  GET AND CHECK THE INPUT
  188. 9000  REM  CTRL-Q IS TO QUIT
  189. 9050  POKE  -16368,0
  190. 9100  VTAB 21: HTAB 2: INPUT "?";I$
  191. 9125 BB =  INT( RND(1) *10): FOR B = 1 TO BB:BC =  RND(1): NEXT : REM  INDUCE MORE RANDOMNESS
  192. 9150  IF I$ =  CHR$(17)  THEN 12250
  193. 9200  IF K < >1  THEN 9400
  194. 9250  REM  CHECK FOR PRESCHOOLER INPUT
  195. 9300  IF I$ < >KI$  THEN 10100
  196. 9350  GOTO 9475
  197. 9400  IF I$ < >A$  THEN 10100
  198. 9450  REM  CORRECT ANSWER
  199. 9475 BB = 0
  200. 9500  IF S2 = 1  THEN  VTAB 20: HTAB 1: PRINT "1 ";II$: VTAB 21: HTAB 1: PRINT "2 ";:BB = 1
  201. 9550  VTAB 23: HTAB 12: FLASH : PRINT "*** CORRECT ***"
  202. 9600  GOSUB 600
  203. 9650  FOR B = 1 TO 500 +(300 *(L +1) *BB): NEXT B
  204. 9700  NORMAL 
  205. 9750 W = 0
  206. 9800 S = S +S2
  207. 9850 WC = 0:CT = CT +1
  208. 9900  IF CT = 5  THEN  GOSUB 11150
  209. 9950  GOTO 3700
  210. 10000  REM  WRONG ANSWER
  211. 10100  VTAB 23: HTAB 10: FLASH : PRINT "*** WRONG ANSWER ***";: GOSUB 500
  212. 10150  FOR B = 1 TO 500: NEXT B
  213. 10200  NORMAL 
  214. 10250 W = W +1
  215. 10300 S2 = S2 -1
  216. 10350  HTAB 1
  217. 10400  IF W = 1  THEN  VTAB 21: PRINT  SPC( 119):II$ =  LEFT$(I$,38): GOTO 8350
  218. 10450  VTAB 10: HTAB  FN A(Z): PRINT A$
  219. 10500  PRINT G$: REM  <CTRL>-G (BELL)
  220. 10550  VTAB 20: HTAB 1: PRINT "1 ";II$: VTAB 21: HTAB 1: PRINT "2 ";
  221. 10600  POKE  -16368,0
  222. 10650  VTAB 23: HTAB 8: INVERSE : PRINT "HIT ANY KEY TO CONTINUE ";: NORMAL : PRINT " ";: GET Z$
  223. 10700  IF Z$ =  CHR$(17)  THEN 12250
  224. 10750  IF Z$ =  CHR$(27)  THEN 2700
  225. 10800 CT = 0:WC = WC +1
  226. 10850  IF WC = 3  THEN  GOSUB 11450
  227. 10900 W = 0: GOTO 3700
  228. 10950  REM  AUTO ADJUST BASED
  229. 11000  REM  UPON PERFORMANCE
  230. 11050  REM 
  231. 11100  REM  DOING WELL-MAKE HARDER
  232. 11150 WC = 0:CT = 0
  233. 11200  IF X = 9  THEN 11300
  234. 11250 X = X +1:XX = 9 -X: GOTO 400
  235. 11300  IF L = 4  THEN  RETURN 
  236. 11350 L = L +1:X = 4:XX = 5: GOTO 400
  237. 11400  REM  NOT DOING SO WELL-MAKE EASIER
  238. 11450 CT = 0:WC = 0
  239. 11500  IF L +X = 0  THEN  RETURN 
  240. 11550  IF X >0  THEN X = X -1:XX -9 -X: GOTO 300
  241. 11650  IF L >0  THEN L = L -1:X = 4:XX = 5: GOTO 300
  242. 11750 L = 2:X = 4:XX = 5: GOSUB 300: GOTO 400: REM  IMPOSSIBLE-BUT
  243. 11800  REM  ERROR HANDLING
  244. 11850  REM  ROUTINE
  245. 11900 ER =  PEEK(222)
  246. 11950  IF ER = 53  THEN  RESUME 
  247. 12000  IF ER = 163  THEN  RESUME 
  248. 12050  IF ER = 254  THEN  RESUME 
  249. 12100  IF ER = 255  THEN 12250
  250. 12150  STOP 
  251. 12200  REM  ENDING ROUTINE
  252. 12250  CALL  -936: VTAB 1: HTAB 12: PRINT "READING IMPROVER": VTAB 10: HTAB 1
  253. 12300  PRINT "YOUR SCORE WAS ";S;
  254. 12350  PRINT " OUT OF A POSSIBLE ";T *2
  255. 12400  IF S = 0  OR T = 0  THEN 12900
  256. 12450 S =  INT((S/(T *2)) *100)
  257. 12500  PRINT "POINTS FOR A RANKING OF ";S;"%."
  258. 12550  PRINT 
  259. 12600  IF S = 100  THEN  PRINT "EXCELLENT!  KEEP UP THE GOOD WORK.": GOSUB 1050: GOTO 12900
  260. 12700  IF S >74  THEN  PRINT "VERY GOOD!": GOSUB 600: GOTO 12900
  261. 12750  IF S >49  THEN  PRINT "GOOD.  TRY A LITTLE HARDER NEXT TIME.": GOSUB 600: GOTO 12900
  262. 12800  PRINT "POOR.  TRY HARDER NEXT TIME.": PRINT "YOU CAN DO IT.  I KNOW YOU CAN."
  263. 12850 : GOSUB 500
  264. 12900  FOR B = 1 TO 750: NEXT B: VTAB 18
  265. 12950  PRINT : PRINT "WHEN YOU QUIT, YOUR ";
  266. 13000  INVERSE : PRINT "SPEED";: NORMAL : PRINT " WAS ";
  267. 13010  INVERSE : PRINT X
  268. 13050  NORMAL : PRINT "AND YOUR ";: INVERSE : PRINT "LEVEL";: NORMAL : PRINT " WAS ";: INVERSE : PRINT L: NORMAL 
  269. 13075  PRINT "USING THE ";: INVERSE : IF K = 1  THEN  PRINT "PRESCHOOL";
  270. 13080  IF K = 0  THEN  PRINT "NORMAL";
  271. 13090  NORMAL : PRINT " FORMAT."
  272. 13100  END 
  273. 13150  REM  INSTRUCTION OUTPUT
  274. 13200  CALL  -936
  275. 13250  FOR B = 1 TO Q
  276. 13300  READ Q$: GOSUB 13400: NEXT B
  277. 13350 PC = 23: GOSUB 13850: RETURN 
  278. 13400  REM  FORMAT OUTPUT OF DATA IN Q$
  279. 13450  FOR CP = 1 TO  LEN(Q$)
  280. 13500  FOR JP = CP TO  LEN(Q$): IF  MID$ (Q$,JP,1) < >" "  THEN  NEXT JP
  281. 13550 WP$ =  MID$ (Q$,CP,JP -CP):CP = JP:WP$ = WP$ +" "
  282. 13575  IF  LEFT$(WP$,2) = "@@"  THEN  GOSUB 13850:WP$ = "":PC = 23: GOSUB 13850
  283. 13600  IF  LEFT$(WP$,1) = "@"  THEN  GOSUB 13850:WP$ = ""
  284. 13650  IF ( LEN(LP$) + LEN(WP$)) >39  THEN  GOSUB 13850
  285. 13700 LP$ = LP$ +WP$
  286. 13750  NEXT CP
  287. 13800  RETURN 
  288. 13850  POKE  -16368,0
  289. 13900  IF PC = 23  THEN  VTAB 24: HTAB 8: PRINT "HIT ANY KEY TO CONTINUE ";:PC = 0: GET Z$: HTAB 1: CALL  -936: IF Z$ =  CHR$(17)  THEN  END 
  290. 13950  PRINT LP$:LP$ = "":PC = PC +1: RETURN 
  291. 14000  REM  DATA FOR THE ARRAYS
  292. 14050  REM  ARTICLES
  293. 14100  DATA  A,THE
  294. 14150  REM  PREPOSITIONS
  295. 14200  DATA  AT,BY,IN,ON,NEAR,TO,FROM
  296. 14250  DATA  DOWN,OFF,THROUGH,OUT,PAST,UP
  297. 14300  DATA  OF,FOR,WITH,LIKE,ABOUT,ABOVE
  298. 14350  DATA  ACROSS,AFTER,AGAINST,ALONG
  299. 14400  DATA  AMONG,AROUND,BEFORE,BEHIND
  300. 14450  DATA  BELOW,BENEATH,BESIDE,BETWEEN
  301. 14500  DATA  BEYOND,DURING,EXCEPT,INSIDE
  302. 14550  DATA  OUTSIDE,OVER,UNDER,INTO,ONTO
  303. 14600  DATA  UPON,WITHIN,WITHOUT
  304. 14650  REM  NOUNS
  305. 14700  DATA  HOUSE,TREE,BOAT,CAR,BICYCLE
  306. 14750  DATA  RAFT,LAKE,STREAM,RIVER,BUSH
  307. 14800  DATA  FLOWER,PLANT,SHACK,TENT,DESK
  308. 14850  DATA  PENCIL,PEN,DOOR,WALL,WINDOW
  309. 14900  DATA  CLOCK,BOOK,BIRD,DOG,CAT
  310. 14950  DATA  STREET,POLE,HILL,ROCK,PUDDLE
  311. 15000  DATA  KEY,VASE,PILLOW,MONEY,CAVE
  312. 15050  DATA  FORK,SPOON,DISH,CUP,GLASS
  313. 15100  DATA  SCHOOL,CLASS,SHIRT,PANTS,TIE
  314. 15150  DATA  CHAIR,SOFA,STEP,LADDER,STOVE
  315. 15200  REM  ADJECTIVES
  316. 15250  DATA  WET,RED,GREEN,BLUE,DRY
  317. 15300  DATA  SLIPPERY,LONG,FAT,SHORT,TALL
  318. 15350  DATA  SKINNY,BIG,SMALL,HUGE,LITTLE
  319. 15400  DATA  BLACK,BURNT,FAST,SLOW,ODD
  320. 15450  DATA  GROWING,SWEET,DULL,HARD,FRAMED
  321. 15500  DATA  SOFT,FAR,LOUD,QUIET,NEW
  322. 15550  DATA  OLD,ANCIENT,FRAGIL,BROKEN,WOODEN
  323. 15600  DATA  COLORFUL,WHITE,ROUGH,SMOOTH,STRIPED
  324. 15650  DATA  GLOWING,DEADLY,FUNNY,MESSY,SHARP
  325. 15700  DATA  DUMPY,HONEST,CROOKED,HOT,COLD
  326. 15750  REM  VERBS
  327. 15800  DATA  RAN,JUMPED,WALKED,SWAM,COVERED
  328. 15850  DATA  BROKE,FIXED,GOT,PUT,TOOK
  329. 15900  DATA  DROVE,PILOTED,PUSHED,SHOOK,STOPPED
  330. 15950  DATA  DRANK,ATE,CLIMBED,THREW,CAUGHT
  331. 16000  DATA  MADE,READ,CARRIED,DROPPED,REPLACED
  332. 16050  DATA  TICKLED,PULLED,LIFTED,TOSSED,FLEW
  333. 16100  DATA  EXPLODED,STACKED,PLACED,RODE,PLAYED
  334. 16150  DATA  WROTE,HUNG,PLANTED,BURIED,REMOVED
  335. 16200  DATA  WATCHED,TOLD,SWUNG,ATTACKED,KILLED
  336. 16250  DATA  KISSED,HELD,KICKED,HIT,TRIPPED
  337. 16300  DATA  BURNED,FIXED,REPAIRED,DESTROYED,ENTERED
  338. 16350  REM  DATA FOR INSTRUCTIONS
  339. 16400  DATA  "  THIS PROGRAM WILL AID IN INCREASING YOUR READING SPEED AND COMPREHENSION. @ @"
  340. 16450  DATA  "  DATA WILL BE FLASHED IN A BOX ON THE SCREEN AND YOU MUST TYPE IN THIS DATA TO GET IT CORRECT. @ @"
  341. 16500  DATA  "  THE DATA CONSISTS OF EITHER NUMBERS OR SENTENCES (IN THE CASE FOR A PRESCHOOL CHILD, JUST LETTERS).  THE SENTENCES ARE, FOR THE MOST PART, NONSENSICAL, BUT GRAMMATICALLY CORRECT. @ @"
  342. 16550  DATA  "  THERE ARE TWO FORMATS AVAILABLE, A NORMAL FORMAT AND A FORMAT DESIGNED FOR THE PRESCHOOL CHILD"
  343. 16600  DATA  "WHO CAN READ THE ALPHABET AND/OR NUMBERS.  THE RESPONSE TO THE QUESTION 'PRESCHOOLER' SELECTS THE FORMAT. @@"
  344. 16650  DATA  "  FOLLOWING THE FORMAT QUESTION YOU ARE ASKED FOR THE TYPE OF DATA (NUMBERS? (Y/N)), DIFFICULTY LEVEL"
  345. 16700  DATA  AND SPEED AT WHICH YOU WILL ATTEMPT READING. @
  346. 16750  DATA  "(NOTE: HITTING <ESC>AT ANY POINT DURING THIS QUESTIONING WILL SEND YOU TO THE PREVIOUS QUESTION.) @ @"
  347. 16800  DATA  "  WHEN ANSWERING THESE QUESTIONS, HITTING ANY CHARACTER OTHER THAN THOSE SPECIFIED WILL CAUSE THAT QUESTION TO"
  348. 16850  DATA  "ACCEPT THE FOLLOWING DEFAULTS: @ @   INSTRUCTIONS = N @   PRESCHOOLER = N @   NUMBERS = N @   LEVEL = 2 @   SPEED = 4 @@"
  349. 16900  DATA  "  FOLLOWING THE SET-UP, YOU WILL SEE THE LEVEL AND SPEED, AT WHICH YOU ARE ATTEMPTING, DISPLAYED.  BELOW THIS YOU WILL SEE THE BOX IN WHICH THE DATA WILL BE FLASHED. @ @"
  350. 16950  DATA  "  BELOW THE BOX DRAWN ON THE SCREEN YOU WILL SEE A FLASHING CURSOR.  THIS IS YOUR READY CUE."
  351. 17000  DATA  "WHEN YOU ARE READY TO READ, HIT ANY KEY AND THE DATA WILL BE FLASHED. @ @"
  352. 17050  DATA  "  AFTER THE DATA HAS BEEN FLASHED AND YOU HAVE READ IT, A QUESTION MARK (?) WILL APPEAR."
  353. 17100  DATA  THIS IS YOUR CUE TO TYPE IN WHAT YOU READ. @
  354. 17150  DATA  "(NOTE: IN THE PRESCHOOLER FORMAT, SPACING IS IGNORED.  JUST TYPE IN THE DATA.) @@"
  355. 17200  DATA  "  YOU WILL HAVE TWO CHANCES AT GETTING IT CORRECT.  IF YOU"
  356. 17250  DATA  "DON'T YOU WILL BE SHOWN THE DATA YOU MISSED AND YOUR RESPONSES. @ @"
  357. 17300  DATA  "  THE PROGRAM WILL AUTOMATICALLY ADJUST THE DIFFICULTY LEVEL AND SPEED BASED UPON YOUR PERFORMANCE."
  358. 17350  DATA   "  IF YOU WISH TO MAKE AN ADJUSTMENT TO THE DATA TYPE, LEVEL AND SPEED; JUST HIT THE <ESC> KEY. @ @"
  359. 17400  DATA  "  YOU ARE SCORED AS FOLLOWS: @ 2 POINTS IF CORRECT ON THE FIRST TRY @ 1 POINT IF CORRECT ON THE SECOND TRY @ 0 POINTS IN WRONG ON BOTH TRIES @ @"
  360. 17450  DATA  "  TO QUIT, JUST HIT <CTRL>-Q. @"